using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using BusinessRules;
using DataAccess;

public partial class AvancesMetas : PageBase
{
    #region Propiedades

    private DataTable SigProgramaZonasGeograficasDataTable
    {

        get
        {

            DataTable objTable = null;
            if (Cache[SigProgramaZonasGeograficasData.SIG_PLAN_PROGRAMA_TABLE + Session.SessionID] != null)
                objTable = (DataTable)Cache[SigProgramaZonasGeograficasData.SIG_PLAN_PROGRAMA_TABLE + Session.SessionID];
            return objTable;
        }

        set
        {
            if (value != null)
            {
                Cache.Insert(SigProgramaZonasGeograficasData.SIG_PLAN_PROGRAMA_TABLE + Session.SessionID, value, null, DateTime.Now.AddMinutes(20), TimeSpan.Zero);
            }
        }
    }

    public string StrPlnId
    {
        get
        {
            if (ViewState["strPlnId"] != null)
                return ViewState["strPlnId"].ToString();
            return "";
        }
        set { ViewState["strPlnId"] = value; }
    }
    public string IdentificadorMetId
    {
        get { return (ViewState["IdentificadorMetId"] == null ? string.Empty : ViewState["IdentificadorMetId"].ToString()); }
        set { ViewState["IdentificadorMetId"] = value; }
    }

    public string StrAccId
    {
        get
        {
            if (ViewState["strAccId"] != null)
                return ViewState["strAccId"].ToString();
            return "";
        }
        set { ViewState["strAccId"] = value; }
    }

    private DataTable FinAccionEPeDataTable
    {

        get
        {

            DataTable objTable = null;
            if (Cache[FinAccionEpeData.FIN_ACCION_EPE_TABLE + Session.SessionID] != null)
                objTable = (DataTable)Cache[FinAccionEpeData.FIN_ACCION_EPE_TABLE + Session.SessionID];
            return objTable;
        }

        set
        {
            if (value != null)
            {
                Cache.Insert(FinAccionEpeData.FIN_ACCION_EPE_TABLE + Session.SessionID, value);
            }
        }
    }

    #endregion


    protected void Page_Load(object sender, EventArgs e)
    {
        traerContextItems();

        if (!IsPostBack)
        {
            if (StrAccId != "")
                cargarCampos();
            
        }

        BindDatosPorDepartamento();
    }

    private void cargarCampos()
    {
        SigPlanAccion objSigPlanAccion = new SigPlanAccion(ConfigurationManager.AppSettings["Conn"]);
        SigPlanAccionData objSigPlanAccionData = objSigPlanAccion.ConsultarPnlId(Convert.ToDecimal(StrPlnId));
        if (objSigPlanAccionData != null)
        {
            //---------------------
            //Cargar datos Rubros -
            //---------------------
            DataRow filaPlanAccion = objSigPlanAccionData.Rows[0];
            lblDependencia.Text = filaPlanAccion[SigPlanAccionData.DEP_NOMBRE_FIELD].ToString();
            lblDescripcionRubro.Text = filaPlanAccion[SigPlanAccionData.PLN_NOMBRE_FIELD].ToString();
            lblCodigoPresupuestal.Text = filaPlanAccion[SigPlanAccionData.PLN_CODIGO_PRESUPUESTAL_FIELD].ToString();
            decimal decVAlor = Convert.ToDecimal(filaPlanAccion[SigPlanAccionData.PLN_VALOR_APROPIACION_FIELD].ToString());
            lblValorApropiacion.Text = decVAlor.ToString("C");
        }


        SigAccion objSigAccion = new SigAccion(ConfigurationManager.AppSettings["Conn"]);
        SigAccionData objSigAccionData = objSigAccion.ConsultarAccionAccID(StrAccId);
        //---------------------
        //Cargar datos Accion -
        //---------------------
        if (objSigAccionData != null)
        {
            DataRow filaAccion = objSigAccionData.Rows[0];
            lblAccion.Text = filaAccion[SigAccionData.ACC_DESCRIPCION_FIELD].ToString();

            decimal decValor = Convert.ToDecimal(filaAccion[SigAccionData.ACC_VALOR_FIELD].ToString());
            lblValorAccion.Text = decValor.ToString("C");

        }
    }

    #region BindDatos

    

    #endregion

    #region BindDatosPorDepartamento

    private void BindDatosPorDepartamento()
    {
        SigProgramaZonasGeograficas objSigProgramaZonasGeograficas = new SigProgramaZonasGeograficas(ConfigurationManager.AppSettings["Conn"]);
        SigProgramaZonasGeograficasData objSigProgramaZonasGeograficasData = objSigProgramaZonasGeograficas.ConsultarProgramaZonasGeograficasMetas("0", Usuario.PerfilActual.ToString(), "0", "", "", IdentificadorMetId);
        SigProgramaZonasGeograficasDataTable = objSigProgramaZonasGeograficasData;
        gridPlanesProgramas.DataSource = objSigProgramaZonasGeograficasData.DefaultView;
        gridPlanesProgramas.DataBind();
        //pnlEjecucionTerritorial.Visible = objSigPlanProgramaData.Rows.Count > 0;
    }

    #endregion

    #region ContextItems

    private void crearContextItems()
    {
        Context.Items["accId"] = StrAccId;
        Context.Items["plnId"] = StrPlnId;

    }

    private void traerContextItems()
    {
        if (Context.Items["accId"] != null)
            StrAccId = Convert.ToString(Context.Items["accId"]);
        if (Context.Items["plnId"] != null)
            StrPlnId = Convert.ToString(Context.Items["plnId"]);
        if (Context.Items["IdentificadorMetId"] != null)
            IdentificadorMetId = Convert.ToString(Context.Items["IdentificadorMetId"]);
        
    }

    #endregion


    protected void gidvAccionEpe_SelectedIndexChanged(object sender, EventArgs e)
    {
        Response.Write("<script language=javascript>window.open('AccionEpeDetalle.aspx?AccId=" + StrAccId + "','nueva_ventana','width=800,height=600,scrollbars=1');</script>");
    }
    protected void LinkContratos_Click(object sender, EventArgs e)
    {
        crearContextItems();
        Server.Transfer("Contratos.aspx?SSM_ID=13", true);
    }
    protected void lnkAccionesMetas_Click(object sender, EventArgs e)
    {
        crearContextItems();
        Server.Transfer("SigAccionMetas.aspx?SSM_ID=13", true);
    }
    protected void btnRegresar_Click(object sender, ImageClickEventArgs e)
    {
        crearContextItems();
        Server.Transfer("SigAccionMetas.aspx?SSM_ID=13", true);
    }
    
    protected void btnCerrar_Click(object sender, ImageClickEventArgs e)
    {
        PopupPanel1.Hide();
        LimpiarcargarDetalle();
    }

    private void LimpiarcargarDetalle()
    {
       
    }
    protected void lblDescripcionRubro_Click(object sender, EventArgs e)
    {
        Server.Transfer("EjecucionPresupuestal.aspx?SSM_ID=13", true);
    }
    protected void lblAccion_Click(object sender, EventArgs e)
    {
        crearContextItems();
        Server.Transfer("SigAcciones.aspx?SSM_ID=13", true);
    }
    protected void btnXlsExport_Click(object sender, EventArgs e)
    {
        gridExport.WriteXlsToResponse();
    }
    protected void btnRtfExport_Click(object sender, EventArgs e)
    {
        gridExport.WriteRtfToResponse();
    }
    protected void btnCsvExport_Click(object sender, EventArgs e)
    {
        gridExport.WriteCsvToResponse();
    }
}
